// Find the right method, call on correct element var fullscreen = false; function launchFullscreen(element) { if(element.requestFullscreen) { //element.requestFullscreen(); element.requestFullscreen().catch(err => { //$('.fullscreen-popup').remove(); //console.log(`Error attempting to enable full-screen mode: ${err.message} (${err.name})`); }); } else if(element.mozRequestFullScreen) { //element.mozRequestFullScreen(); element.mozRequestFullScreen().catch(err => { //$('.fullscreen-popup').remove(); //console.log(`Error attempting to enable full-screen mode: ${err.message} (${err.name})`); }); } else if(element.webkitRequestFullscreen) { //element.webkitRequestFullscreen(); element.webkitRequestFullscreen().catch(err => { //$('.fullscreen-popup').remove(); //console.log(`Error attempting to enable full-screen mode: ${err.message} (${err.name})`); }); } else if(element.msRequestFullscreen) { //element.msRequestFullscreen(); element.msRequestFullscreen().catch(err => { //$('.fullscreen-popup').remove(); //console.log(`Error attempting to enable full-screen mode: ${err.message} (${err.name})`); }); } fullscreen = true; } function exitFullscreen() { if(document.exitFullscreen) { if (document.fullscreen) document.exitFullscreen(); } else if(document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if(document.webkitExitFullscreen) { document.webkitExitFullscreen(); } else if(document.documentElement.msRequestFullscreen) { document.msExitFullscreen(); } fullscreen = false; } function dumpFullscreen() { //console.log("document.fullscreenElement is: ", document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement); //console.log("document.fullscreenEnabled is: ", document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled); } // Events document.addEventListener("fullscreenchange", function(e) { fullscreenchange(); }); document.addEventListener("mozfullscreenchange", function(e) { fullscreenchange();}); document.addEventListener("webkitfullscreenchange", function(e) { fullscreenchange();}); document.addEventListener("MSFullscreenChange", function(e) { fullscreenchange(); }); function fullscreenchange() { if(gameCategory !== 'OtherGames' && gameCategory !== 'Games') { fullscreen = false; if((window.fullScreen) || (window.innerWidth == screen.width && window.innerHeight == screen.height)) { fullscreen = true; } } $('.fullscreen-bt').toggleClass('active'); $('#game-frame')[0].contentWindow.postMessage({name: "fullscreen-bt", active: fullscreen}, "*");} window.addEventListener("message", function(event) { let message = event.data; if(message.name !== undefined) { if (message.name === 'fullscreen-on') { launchFullscreen(document.documentElement); } else if (message.name === 'fullscreen-off') { exitFullscreen() } } }, false);